parameters:
  - name: stages
    type: stageList

resources:
  containers:
    - container: linux_arm
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm
      env:
        ROOTFS_DIR: /crossrootfs/arm

    - container: linux_armv6
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10
      env:
        ROOTFS_DIR: /crossrootfs/armv6

    - container: linux_arm64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-biarch-amd64-arm64
      env:
        ROOTFS_HOST_DIR: /crossrootfs/x64
        ROOTFS_DIR: /crossrootfs/arm64

    - container: linux_musl_x64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine
      env:
        ROOTFS_DIR: /crossrootfs/x64

    - container: linux_musl_arm
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
      env:
        ROOTFS_DIR: /crossrootfs/arm

    - container: linux_musl_arm64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
      env:
        ROOTFS_DIR: /crossrootfs/arm64

    # This container contains all required toolsets to build for Android and for Linux with bionic libc.
    - container: linux_bionic
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-android-amd64

    # This container contains all required toolsets to build for Android as well as tooling to build docker images.
    - container: android_docker
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-android-docker

    - container: linux_x64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64
      env:
        ROOTFS_DIR: /crossrootfs/x64

    - container: linux_x86
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-x86
      env:
        ROOTFS_DIR: /crossrootfs/x86

    - container: linux_x64_dev_innerloop
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04

    # We use a CentOS Stream 8 image here to test building from source on CentOS Stream 8.
    - container: SourceBuild_centos_x64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8

    # AlmaLinux 8 is a RHEL 8 rebuild, so we use it to test building from source on RHEL 8.
    - container: SourceBuild_linux_x64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-source-build

    - container: linux_s390x
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-s390x
      env:
        ROOTFS_DIR: /crossrootfs/s390x

    - container: linux_ppc64le
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-ppc64le
      env:
        ROOTFS_DIR: /crossrootfs/ppc64le

    - container: linux_riscv64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-riscv64
      env:
        ROOTFS_DIR: /crossrootfs/riscv64

    - container: debian-12-gcc13-amd64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc13-amd64

    - container: linux_x64_llvmaot
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8

    - container: browser_wasm
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly-20230913040940-1edc1c6
      env:
        ROOTFS_DIR: /crossrootfs/x64

    - container: wasi_wasm
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly
      env:
        ROOTFS_DIR: /crossrootfs/x64

    - container: freebsd_x64
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-freebsd-13
      env:
        ROOTFS_DIR: /crossrootfs/x64

    - container: tizen_armel
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-armel-tizen
      env:
        ROOTFS_DIR: /crossrootfs/armel

    - container: debpkg
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg

    - container: rpmpkg
      image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm

stages: ${{ parameters.stages }}
